A digital image is the visual representation of image data. Image data, similarly, is data that describes how to render a representation of an image. The standards and formats for expressing image data are too numerous to fully mention, but several examples include a GIF file, a JPG file, a PDF file, a BMP file, a TIF file, a DOC file, a TXT file, and a XLS file.
Digital images may be used in a variety of contexts and for a variety of purposes. For example, a typical website is comprised of digital images that aid a viewer in navigating the website, such as banners, icons, and buttons. The substantive content of a website also may be expressed using a digital image, e.g., the website may display a photograph, a chart, a map or a graph. Digital photography has also become a popular way for people to take digital photographs, which are examples of digital images. Further, numerous software applications are available for creating and manipulating various kinds of digital images.
Digital images may be classified into several different types. One type of digital image is a digital photograph. A digital photograph (hereinafter a “photograph”) is a digital representation of a realistic scene. Non-limiting, illustrative examples of a photograph include a photograph taken by a digital camera, a scanned copy of a physical photograph, or a digital representation of a real-world view. To illustrate, FIG. 1A depicts a photograph of a mountain.
Another type of digital image is a graphic. Graphics are digital representations that do not qualify as photographs. Graphics do not appear to the human eye as realistic scenes, but rather as generated content. Non-limiting, illustrative examples of graphics are icons, maps, charts, text documents, banners, advertisements, and graphs. To illustrate, FIG. 1B depicts a graphic of a checkerboard.
There are many situations in which it would be advantageous to know whether a particular digital image is a photograph or a graphic. For example, a user may wish to retrieve a map of England from a set of digital images. The user may cause a keyword search on the term “England” to be performed against the set of digital images. Several different types of digital images may satisfy the keyword search. For example, a map of England and a photograph of Big Ben and Parliament may both satisfy the keyword search if both were associated with the term “England.” Since a map is a graphic and not a photograph, if all the photographs in the set of digital images being searched were eliminated from consideration, then the search for the map of England may be performed more quickly and the result of the search may produce more pertinent results.
Also, numerous situations exist where a system may treat a photograph differently than a graphic, and thus it would be desirable for the system to know whether a particular digital image is a photograph or a graphic. For example, certain types of digital processing are only applicable only to photographs. Thus, it would be advantageous to determine whether a particular digital image is a photograph or a graphic, because certain types of digital processing may not need to be performed if the digital image is a graphic.
Current techniques for determining whether a digital image is a photograph or a graphic experience several disadvantages. According to one approach (the “visual inspection approach”), a user personally views a digital image to determine whether the digital image is a photograph or a graphic. After making the determination, the user may store data with the digital image that indicates whether it is a photograph or a graphic. While this approach is reliable, it is extremely slow and labor intensive. As a result, the visual inspection approach is impractical for all but a small number of digital images.
According to another approach (the “software approach”) for determining whether a digital image is a photograph or a graphic, a software application analyzes a digital image to determine whether the digital image is a photograph or a graphic. Since the software approach can be automated, it is faster and less labor intensive than the visual inspection approach. However, the software approach is not very accurate due to the limitations of the algorithms used by the software application according to the software approach. As a result, the software approach has limited utility.
Therefore, an approach for determining the image type of a particular digital image, which does not experience the disadvantages of the above approaches, is desirable. The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.